package com.dxf.chepter03

/**
 * 惰性函数: 一个概念
 *
 * 惰性计算(尽可能延迟表达式求值)是许多函数式编程语言的特性
 * 惰性集合在需要时提供其元素
 *
 * java中的懒汉式创建对象,java中需要自己代码实现
 * scala中提供 lazy 懒加载支持
 *
 *
 * 注意事项:
 *  1 lazy不能修饰var类型的变量 -->值可以变,线程不安全
 *  2 调用函数时加上lazy 和 申明变量时加上lazy 都有延迟效果
 *
 *
 *
 */
object T38_惰性函数 {
  def main(args: Array[String]): Unit = {

    def sum(n1: Int, n2: Int): Int = {
      println("sum()执行了...")
      return n1 + n2
    }

    lazy val res=sum(10,20)//lazy 实现懒加载
    // val res=sum(10,20)

    println("====================")

    println("res="+res)



  }


}
